home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 25 / AACD 25.iso / AACD / Programming / yaec / modules / graphics.e < prev    next >
Encoding:
Text File  |  2001-08-12  |  21.2 KB  |  175 lines

  1. OPT MODULE
  2. OPT EXPORT
  3. -> Module created with E:bin/fd2module from YAECv18 package.
  4. OPT NDDC
  5. -> ------ BitMap primitives ------
  6. #macro BltBitMap(srcBitMap,xSrc,ySrc,destBitMap,xDest,yDest,xSize,ySize,minterm,mask,tempA) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,srcBitMap,xSrc,ySrc,destBitMap,xDest,yDest,xSize,ySize,minterm,mask,tempA) BUT Loads(A6,A0,D0,D1,A1,D2,D3,D4,D5,D6,D7,A2) BUT ASM ' jsr -30(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  7. #macro BltTemplate(source,xSrc,srcMod,destRP,xDest,yDest,xSize,ySize) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,source,xSrc,srcMod,destRP,xDest,yDest,xSize,ySize) BUT Loads(A6,A0,D0,D1,A1,D2,D3,D4,D5) BUT ASM ' jsr -36(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  8. -> ------ Text routines ------
  9. #macro ClearEOL(rp) IS (A1:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -42(a6)'
  10. #macro ClearScreen(rp) IS (A1:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -48(a6)'
  11. #macro TextLength(rp,string,count) IS Stores(gfxbase,rp,string,count) BUT Loads(A6,A1,A0,D0) BUT ASM ' jsr -54(a6)'
  12. #macro Text(rp,string,count) IS Stores(gfxbase,rp,string,count) BUT Loads(A6,A1,A0,D0) BUT ASM ' jsr -60(a6)'
  13. #macro SetFont(rp,textFont) IS Stores(gfxbase,rp,textFont) BUT Loads(A6,A1,A0) BUT ASM ' jsr -66(a6)'
  14. #macro OpenFont(textAttr) IS (A0:=textAttr) BUT (A6:=gfxbase) BUT ASM ' jsr -72(a6)'
  15. #macro CloseFont(textFont) IS (A1:=textFont) BUT (A6:=gfxbase) BUT ASM ' jsr -78(a6)'
  16. #macro AskSoftStyle(rp) IS (A1:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -84(a6)'
  17. #macro SetSoftStyle(rp,style,enable) IS Stores(gfxbase,rp,style,enable) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -90(a6)'
  18. -> ------    Gels routines ------
  19. #macro AddBob(bob,rp) IS Stores(gfxbase,bob,rp) BUT Loads(A6,A0,A1) BUT ASM ' jsr -96(a6)'
  20. #macro AddVSprite(vSprite,rp) IS Stores(gfxbase,vSprite,rp) BUT Loads(A6,A0,A1) BUT ASM ' jsr -102(a6)'
  21. #macro DoCollision(rp) IS (A1:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -108(a6)'
  22. #macro DrawGList(rp,vp) IS Stores(gfxbase,rp,vp) BUT Loads(A6,A1,A0) BUT ASM ' jsr -114(a6)'
  23. #macro InitGels(head,tail,gelsInfo) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,head,tail,gelsInfo) BUT Loads(A6,A0,A1,A2) BUT ASM ' jsr -120(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  24. #macro InitMasks(vSprite) IS (A0:=vSprite) BUT (A6:=gfxbase) BUT ASM ' jsr -126(a6)'
  25. #macro RemIBob(bob,rp,vp) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,bob,rp,vp) BUT Loads(A6,A0,A1,A2) BUT ASM ' jsr -132(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  26. #macro RemVSprite(vSprite) IS (A0:=vSprite) BUT (A6:=gfxbase) BUT ASM ' jsr -138(a6)'
  27. #macro SetCollision(num,routine,gelsInfo) IS Stores(gfxbase,num,routine,gelsInfo) BUT Loads(A6,D0,A0,A1) BUT ASM ' jsr -144(a6)'
  28. #macro SortGList(rp) IS (A1:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -150(a6)'
  29. #macro AddAnimOb(anOb,anKey,rp) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,anOb,anKey,rp) BUT Loads(A6,A0,A1,A2) BUT ASM ' jsr -156(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  30. #macro Animate(anKey,rp) IS Stores(gfxbase,anKey,rp) BUT Loads(A6,A0,A1) BUT ASM ' jsr -162(a6)'
  31. #macro GetGBuffers(anOb,rp,flag) IS Stores(gfxbase,anOb,rp,flag) BUT Loads(A6,A0,A1,D0) BUT ASM ' jsr -168(a6)'
  32. #macro InitGMasks(anOb) IS (A0:=anOb) BUT (A6:=gfxbase) BUT ASM ' jsr -174(a6)'
  33. -> ------    General graphics routines ------
  34. #macro DrawEllipse(rp,xCenter,yCenter,a,b) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,xCenter,yCenter,a,b) BUT Loads(A6,A1,D0,D1,D2,D3) BUT ASM ' jsr -180(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  35. #macro AreaEllipse(rp,xCenter,yCenter,a,b) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,xCenter,yCenter,a,b) BUT Loads(A6,A1,D0,D1,D2,D3) BUT ASM ' jsr -186(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  36. #macro LoadRGB4(vp,colors,count) IS Stores(gfxbase,vp,colors,count) BUT Loads(A6,A0,A1,D0) BUT ASM ' jsr -192(a6)'
  37. #macro InitRastPort(rp) IS (A1:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -198(a6)'
  38. #macro InitVPort(vp) IS (A0:=vp) BUT (A6:=gfxbase) BUT ASM ' jsr -204(a6)'
  39. #macro MrgCop(view) IS (A1:=view) BUT (A6:=gfxbase) BUT ASM ' jsr -210(a6)'
  40. #macro MakeVPort(view,vp) IS Stores(gfxbase,view,vp) BUT Loads(A6,A0,A1) BUT ASM ' jsr -216(a6)'
  41. #macro LoadView(view) IS (A1:=view) BUT (A6:=gfxbase) BUT ASM ' jsr -222(a6)'
  42. #macro WaitBlit() IS (A6:=gfxbase) BUT ASM ' jsr -228(a6)'
  43. #macro SetRast(rp,pen) IS Stores(gfxbase,rp,pen) BUT Loads(A6,A1,D0) BUT ASM ' jsr -234(a6)'
  44. #macro Move(rp,x,y) IS Stores(gfxbase,rp,x,y) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -240(a6)'
  45. #macro Draw(rp,x,y) IS Stores(gfxbase,rp,x,y) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -246(a6)'
  46. #macro AreaMove(rp,x,y) IS Stores(gfxbase,rp,x,y) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -252(a6)'
  47. #macro AreaDraw(rp,x,y) IS Stores(gfxbase,rp,x,y) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -258(a6)'
  48. #macro AreaEnd(rp) IS (A1:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -264(a6)'
  49. #macro WaitTOF() IS (A6:=gfxbase) BUT ASM ' jsr -270(a6)'
  50. #macro QBlit(blit) IS (A1:=blit) BUT (A6:=gfxbase) BUT ASM ' jsr -276(a6)'
  51. #macro InitArea(areaInfo,vectorBuffer,maxVectors) IS Stores(gfxbase,areaInfo,vectorBuffer,maxVectors) BUT Loads(A6,A0,A1,D0) BUT ASM ' jsr -282(a6)'
  52. #macro SetRGB4(vp,index,red,green,blue) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,vp,index,red,green,blue) BUT Loads(A6,A0,D0,D1,D2,D3) BUT ASM ' jsr -288(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  53. #macro QBSBlit(blit) IS (A1:=blit) BUT (A6:=gfxbase) BUT ASM ' jsr -294(a6)'
  54. #macro BltClear(memBlock,byteCount,flags) IS Stores(gfxbase,memBlock,byteCount,flags) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -300(a6)'
  55. #macro RectFill(rp,xMin,yMin,xMax,yMax) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,xMin,yMin,xMax,yMax) BUT Loads(A6,A1,D0,D1,D2,D3) BUT ASM ' jsr -306(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  56. #macro BltPattern(rp,mask,xMin,yMin,xMax,yMax,maskBPR) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,rp,mask,xMin,yMin,xMax,yMax,maskBPR) BUT Loads(A6,A1,A0,D0,D1,D2,D3,D4) BUT ASM ' jsr -312(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  57. #macro ReadPixel(rp,x,y) IS Stores(gfxbase,rp,x,y) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -318(a6)'
  58. #macro WritePixel(rp,x,y) IS Stores(gfxbase,rp,x,y) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -324(a6)'
  59. #macro Flood(rp,mode,x,y) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,mode,x,y) BUT Loads(A6,A1,D2,D0,D1) BUT ASM ' jsr -330(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  60. #macro PolyDraw(rp,count,polyTable) IS Stores(gfxbase,rp,count,polyTable) BUT Loads(A6,A1,D0,A0) BUT ASM ' jsr -336(a6)'
  61. #macro SetAPen(rp,pen) IS Stores(gfxbase,rp,pen) BUT Loads(A6,A1,D0) BUT ASM ' jsr -342(a6)'
  62. #macro SetBPen(rp,pen) IS Stores(gfxbase,rp,pen) BUT Loads(A6,A1,D0) BUT ASM ' jsr -348(a6)'
  63. #macro SetDrMd(rp,drawMode) IS Stores(gfxbase,rp,drawMode) BUT Loads(A6,A1,D0) BUT ASM ' jsr -354(a6)'
  64. #macro InitView(view) IS (A1:=view) BUT (A6:=gfxbase) BUT ASM ' jsr -360(a6)'
  65. #macro CBump(copList) IS (A1:=copList) BUT (A6:=gfxbase) BUT ASM ' jsr -366(a6)'
  66. #macro CMove(copList,destination,data) IS Stores(gfxbase,copList,destination,data) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -372(a6)'
  67. #macro CWait(copList,v,h) IS Stores(gfxbase,copList,v,h) BUT Loads(A6,A1,D0,D1) BUT ASM ' jsr -378(a6)'
  68. #macro VBeamPos() IS (A6:=gfxbase) BUT ASM ' jsr -384(a6)'
  69. #macro InitBitMap(bitMap,depth,width,height) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,bitMap,depth,width,height) BUT Loads(A6,A0,D0,D1,D2) BUT ASM ' jsr -390(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  70. #macro ScrollRaster(rp,dx,dy,xMin,yMin,xMax,yMax) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,rp,dx,dy,xMin,yMin,xMax,yMax) BUT Loads(A6,A1,D0,D1,D2,D3,D4,D5) BUT ASM ' jsr -396(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  71. #macro WaitBOVP(vp) IS (A0:=vp) BUT (A6:=gfxbase) BUT ASM ' jsr -402(a6)'
  72. #macro GetSprite(sprite,num) IS Stores(gfxbase,sprite,num) BUT Loads(A6,A0,D0) BUT ASM ' jsr -408(a6)'
  73. #macro FreeSprite(num) IS (D0:=num) BUT (A6:=gfxbase) BUT ASM ' jsr -414(a6)'
  74. #macro ChangeSprite(vp,sprite,newData) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,vp,sprite,newData) BUT Loads(A6,A0,A1,A2) BUT ASM ' jsr -420(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  75. #macro MoveSprite(vp,sprite,x,y) IS Stores(gfxbase,vp,sprite,x,y) BUT Loads(A6,A0,A1,D0,D1) BUT ASM ' jsr -426(a6)'
  76. #macro LockLayerRom(layer) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,layer) BUT Loads(A6,A5) BUT ASM ' jsr -432(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  77. #macro UnlockLayerRom(layer) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,layer) BUT Loads(A6,A5) BUT ASM ' jsr -438(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  78. #macro SyncSBitMap(layer) IS (A0:=layer) BUT (A6:=gfxbase) BUT ASM ' jsr -444(a6)'
  79. #macro CopySBitMap(layer) IS (A0:=layer) BUT (A6:=gfxbase) BUT ASM ' jsr -450(a6)'
  80. #macro OwnBlitter() IS (A6:=gfxbase) BUT ASM ' jsr -456(a6)'
  81. #macro DisownBlitter() IS (A6:=gfxbase) BUT ASM ' jsr -462(a6)'
  82. #macro InitTmpRas(tmpRas,buffer,size) IS Stores(gfxbase,tmpRas,buffer,size) BUT Loads(A6,A0,A1,D0) BUT ASM ' jsr -468(a6)'
  83. #macro AskFont(rp,textAttr) IS Stores(gfxbase,rp,textAttr) BUT Loads(A6,A1,A0) BUT ASM ' jsr -474(a6)'
  84. #macro AddFont(textFont) IS (A1:=textFont) BUT (A6:=gfxbase) BUT ASM ' jsr -480(a6)'
  85. #macro RemFont(textFont) IS (A1:=textFont) BUT (A6:=gfxbase) BUT ASM ' jsr -486(a6)'
  86. #macro AllocRaster(width,height) IS Stores(gfxbase,width,height) BUT Loads(A6,D0,D1) BUT ASM ' jsr -492(a6)'
  87. #macro FreeRaster(p,width,height) IS Stores(gfxbase,p,width,height) BUT Loads(A6,A0,D0,D1) BUT ASM ' jsr -498(a6)'
  88. #macro AndRectRegion(region,rectangle) IS Stores(gfxbase,region,rectangle) BUT Loads(A6,A0,A1) BUT ASM ' jsr -504(a6)'
  89. #macro OrRectRegion(region,rectangle) IS Stores(gfxbase,region,rectangle) BUT Loads(A6,A0,A1) BUT ASM ' jsr -510(a6)'
  90. #macro NewRegion() IS (A6:=gfxbase) BUT ASM ' jsr -516(a6)'
  91. #macro ClearRectRegion(region,rectangle) IS Stores(gfxbase,region,rectangle) BUT Loads(A6,A0,A1) BUT ASM ' jsr -522(a6)'
  92. #macro ClearRegion(region) IS (A0:=region) BUT (A6:=gfxbase) BUT ASM ' jsr -528(a6)'
  93. #macro DisposeRegion(region) IS (A0:=region) BUT (A6:=gfxbase) BUT ASM ' jsr -534(a6)'
  94. #macro FreeVPortCopLists(vp) IS (A0:=vp) BUT (A6:=gfxbase) BUT ASM ' jsr -540(a6)'
  95. #macro FreeCopList(copList) IS (A0:=copList) BUT (A6:=gfxbase) BUT ASM ' jsr -546(a6)'
  96. #macro ClipBlit(srcRP,xSrc,ySrc,destRP,xDest,yDest,xSize,ySize,minterm) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,srcRP,xSrc,ySrc,destRP,xDest,yDest,xSize,ySize,minterm) BUT Loads(A6,A0,D0,D1,A1,D2,D3,D4,D5,D6) BUT ASM ' jsr -552(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  97. #macro XorRectRegion(region,rectangle) IS Stores(gfxbase,region,rectangle) BUT Loads(A6,A0,A1) BUT ASM ' jsr -558(a6)'
  98. #macro FreeCprList(cprList) IS (A0:=cprList) BUT (A6:=gfxbase) BUT ASM ' jsr -564(a6)'
  99. #macro GetColorMap(entries) IS (D0:=entries) BUT (A6:=gfxbase) BUT ASM ' jsr -570(a6)'
  100. #macro FreeColorMap(colorMap) IS (A0:=colorMap) BUT (A6:=gfxbase) BUT ASM ' jsr -576(a6)'
  101. #macro GetRGB4(colorMap,entry) IS Stores(gfxbase,colorMap,entry) BUT Loads(A6,A0,D0) BUT ASM ' jsr -582(a6)'
  102. #macro ScrollVPort(vp) IS (A0:=vp) BUT (A6:=gfxbase) BUT ASM ' jsr -588(a6)'
  103. #macro UCopperListInit(uCopList,n) IS Stores(gfxbase,uCopList,n) BUT Loads(A6,A0,D0) BUT ASM ' jsr -594(a6)'
  104. #macro FreeGBuffers(anOb,rp,flag) IS Stores(gfxbase,anOb,rp,flag) BUT Loads(A6,A0,A1,D0) BUT ASM ' jsr -600(a6)'
  105. #macro BltBitMapRastPort(srcBitMap,xSrc,ySrc,destRP,xDest,yDest,xSize,ySize,minterm) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,srcBitMap,xSrc,ySrc,destRP,xDest,yDest,xSize,ySize,minterm) BUT Loads(A6,A0,D0,D1,A1,D2,D3,D4,D5,D6) BUT ASM ' jsr -606(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  106. #macro OrRegionRegion(srcRegion,destRegion) IS Stores(gfxbase,srcRegion,destRegion) BUT Loads(A6,A0,A1) BUT ASM ' jsr -612(a6)'
  107. #macro XorRegionRegion(srcRegion,destRegion) IS Stores(gfxbase,srcRegion,destRegion) BUT Loads(A6,A0,A1) BUT ASM ' jsr -618(a6)'
  108. #macro AndRegionRegion(srcRegion,destRegion) IS Stores(gfxbase,srcRegion,destRegion) BUT Loads(A6,A0,A1) BUT ASM ' jsr -624(a6)'
  109. #macro SetRGB4CM(colorMap,index,red,green,blue) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,colorMap,index,red,green,blue) BUT Loads(A6,A0,D0,D1,D2,D3) BUT ASM ' jsr -630(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  110. #macro BltMaskBitMapRastPort(srcBitMap,xSrc,ySrc,destRP,xDest,yDest,xSize,ySize,minterm,bltMask) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,srcBitMap,xSrc,ySrc,destRP,xDest,yDest,xSize,ySize,minterm,bltMask) BUT Loads(A6,A0,D0,D1,A1,D2,D3,D4,D5,D6,A2) BUT ASM ' jsr -636(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  111. #macro AttemptLockLayerRom(layer) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,layer) BUT Loads(A6,A5) BUT ASM ' jsr -654(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  112. -> --- functions in V36 or higher (Release 2.0) ---
  113. #macro GfxNew(gfxNodeType) IS (D0:=gfxNodeType) BUT (A6:=gfxbase) BUT ASM ' jsr -660(a6)'
  114. #macro GfxFree(gfxNodePtr) IS (A0:=gfxNodePtr) BUT (A6:=gfxbase) BUT ASM ' jsr -666(a6)'
  115. #macro GfxAssociate(associateNode,gfxNodePtr) IS Stores(gfxbase,associateNode,gfxNodePtr) BUT Loads(A6,A0,A1) BUT ASM ' jsr -672(a6)'
  116. #macro BitMapScale(bitScaleArgs) IS (A0:=bitScaleArgs) BUT (A6:=gfxbase) BUT ASM ' jsr -678(a6)'
  117. #macro ScalerDiv(factor,numerator,denominator) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,factor,numerator,denominator) BUT Loads(A6,D0,D1,D2) BUT ASM ' jsr -684(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  118. #macro TextExtent(rp,string,count,textExtent) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,string,count,textExtent) BUT Loads(A6,A1,A0,D0,A2) BUT ASM ' jsr -690(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  119. #macro TextFit(rp,string,strLen,textExtent,constrainingExtent,strDirection,constrainingBitWidth,constrainingBitHeight) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,string,strLen,textExtent,constrainingExtent,strDirection,constrainingBitWidth,constrainingBitHeight) BUT Loads(A6,A1,A0,D0,A2,A3,D1,D2,D3) BUT ASM ' jsr -696(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  120. #macro GfxLookUp(associateNode) IS (A0:=associateNode) BUT (A6:=gfxbase) BUT ASM ' jsr -702(a6)'
  121. #macro VideoControl(colorMap,tagarray) IS Stores(gfxbase,colorMap,tagarray) BUT Loads(A6,A0,A1) BUT ASM ' jsr -708(a6)'
  122. #macro OpenMonitor(monitorName,displayID) IS Stores(gfxbase,monitorName,displayID) BUT Loads(A6,A1,D0) BUT ASM ' jsr -714(a6)'
  123. #macro CloseMonitor(monitorSpec) IS (A0:=monitorSpec) BUT (A6:=gfxbase) BUT ASM ' jsr -720(a6)'
  124. #macro FindDisplayInfo(displayID) IS (D0:=displayID) BUT (A6:=gfxbase) BUT ASM ' jsr -726(a6)'
  125. #macro NextDisplayInfo(displayID) IS (D0:=displayID) BUT (A6:=gfxbase) BUT ASM ' jsr -732(a6)'
  126. #macro GetDisplayInfoData(handle,buf,size,tagID,displayID) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,handle,buf,size,tagID,displayID) BUT Loads(A6,A0,A1,D0,D1,D2) BUT ASM ' jsr -756(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  127. #macro FontExtent(font,fontExtent) IS Stores(gfxbase,font,fontExtent) BUT Loads(A6,A0,A1) BUT ASM ' jsr -762(a6)'
  128. #macro ReadPixelLine8(rp,xstart,ystart,width,array,tempRP) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,xstart,ystart,width,array,tempRP) BUT Loads(A6,A0,D0,D1,D2,A2,A1) BUT ASM ' jsr -768(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  129. #macro WritePixelLine8(rp,xstart,ystart,width,array,tempRP) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,xstart,ystart,width,array,tempRP) BUT Loads(A6,A0,D0,D1,D2,A2,A1) BUT ASM ' jsr -774(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  130. #macro ReadPixelArray8(rp,xstart,ystart,xstop,ystop,array,temprp) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,xstart,ystart,xstop,ystop,array,temprp) BUT Loads(A6,A0,D0,D1,D2,D3,A2,A1) BUT ASM ' jsr -780(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  131. #macro WritePixelArray8(rp,xstart,ystart,xstop,ystop,array,temprp) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,xstart,ystart,xstop,ystop,array,temprp) BUT Loads(A6,A0,D0,D1,D2,D3,A2,A1) BUT ASM ' jsr -786(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  132. #macro GetVPModeID(vp) IS (A0:=vp) BUT (A6:=gfxbase) BUT ASM ' jsr -792(a6)'
  133. #macro ModeNotAvailable(modeID) IS (D0:=modeID) BUT (A6:=gfxbase) BUT ASM ' jsr -798(a6)'
  134. #macro WeighTAMatch(reqTextAttr,targetTextAttr,targetTags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,reqTextAttr,targetTextAttr,targetTags) BUT Loads(A6,A0,A1,A2) BUT ASM ' jsr -804(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  135. #macro EraseRect(rp,xMin,yMin,xMax,yMax) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,xMin,yMin,xMax,yMax) BUT Loads(A6,A1,D0,D1,D2,D3) BUT ASM ' jsr -810(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  136. #macro ExtendFont(font,fontTags) IS Stores(gfxbase,font,fontTags) BUT Loads(A6,A0,A1) BUT ASM ' jsr -816(a6)'
  137. #macro StripFont(font) IS (A0:=font) BUT (A6:=gfxbase) BUT ASM ' jsr -822(a6)'
  138. -> --- functions in V39 or higher (Release 3) ---
  139. #macro CalcIVG(v,vp) IS Stores(gfxbase,v,vp) BUT Loads(A6,A0,A1) BUT ASM ' jsr -828(a6)'
  140. #macro AttachPalExtra(cm,vp) IS Stores(gfxbase,cm,vp) BUT Loads(A6,A0,A1) BUT ASM ' jsr -834(a6)'
  141. #macro ObtainBestPenA(cm,r,g,b,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,cm,r,g,b,tags) BUT Loads(A6,A0,D1,D2,D3,A1) BUT ASM ' jsr -840(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  142. #macro SetRGB32(vp,n,r,g,b) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,vp,n,r,g,b) BUT Loads(A6,A0,D0,D1,D2,D3) BUT ASM ' jsr -852(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  143. #macro GetAPen(rp) IS (A0:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -858(a6)'
  144. #macro GetBPen(rp) IS (A0:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -864(a6)'
  145. #macro GetDrMd(rp) IS (A0:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -870(a6)'
  146. #macro GetOutlinePen(rp) IS (A0:=rp) BUT (A6:=gfxbase) BUT ASM ' jsr -876(a6)'
  147. #macro LoadRGB32(vp,table) IS Stores(gfxbase,vp,table) BUT Loads(A6,A0,A1) BUT ASM ' jsr -882(a6)'
  148. #macro SetChipRev(want) IS (D0:=want) BUT (A6:=gfxbase) BUT ASM ' jsr -888(a6)'
  149. #macro SetABPenDrMd(rp,apen,bpen,drawmode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,rp,apen,bpen,drawmode) BUT Loads(A6,A1,D0,D1,D2) BUT ASM ' jsr -894(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  150. #macro GetRGB32(cm,firstcolor,ncolors,table) IS Stores(gfxbase,cm,firstcolor,ncolors,table) BUT Loads(A6,A0,D0,D1,A1) BUT ASM ' jsr -900(a6)'
  151. #macro AllocBitMap(sizex,sizey,depth,flags,friend_bitmap) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,sizex,sizey,depth,flags,friend_bitmap) BUT Loads(A6,D0,D1,D2,D3,A0) BUT ASM ' jsr -918(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  152. #macro FreeBitMap(bm) IS (A0:=bm) BUT (A6:=gfxbase) BUT ASM ' jsr -924(a6)'
  153. #macro GetExtSpriteA(ss,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,ss,tags) BUT Loads(A6,A2,A1) BUT ASM ' jsr -930(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  154. #macro CoerceMode(vp,monitorid,flags) IS Stores(gfxbase,vp,monitorid,flags) BUT Loads(A6,A0,D0,D1) BUT ASM ' jsr -936(a6)'
  155. #macro ChangeVPBitMap(vp,bm,db) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,vp,bm,db) BUT Loads(A6,A0,A1,A2) BUT ASM ' jsr -942(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  156. #macro ReleasePen(cm,n) IS Stores(gfxbase,cm,n) BUT Loads(A6,A0,D0) BUT ASM ' jsr -948(a6)'
  157. #macro ObtainPen(cm,n,r,g,b,f) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,cm,n,r,g,b,f) BUT Loads(A6,A0,D0,D1,D2,D3,D4) BUT ASM ' jsr -954(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  158. #macro GetBitMapAttr(bm,attrnum) IS Stores(gfxbase,bm,attrnum) BUT Loads(A6,A0,D1) BUT ASM ' jsr -960(a6)'
  159. #macro AllocDBufInfo(vp) IS (A0:=vp) BUT (A6:=gfxbase) BUT ASM ' jsr -966(a6)'
  160. #macro FreeDBufInfo(dbi) IS (A1:=dbi) BUT (A6:=gfxbase) BUT ASM ' jsr -972(a6)'
  161. #macro SetOutlinePen(rp,pen) IS Stores(gfxbase,rp,pen) BUT Loads(A6,A0,D0) BUT ASM ' jsr -978(a6)'
  162. #macro SetWriteMask(rp,msk) IS Stores(gfxbase,rp,msk) BUT Loads(A6,A0,D0) BUT ASM ' jsr -984(a6)'
  163. #macro SetMaxPen(rp,maxpen) IS Stores(gfxbase,rp,maxpen) BUT Loads(A6,A0,D0) BUT ASM ' jsr -990(a6)'
  164. #macro SetRGB32CM(cm,n,r,g,b) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,cm,n,r,g,b) BUT Loads(A6,A0,D0,D1,D2,D3) BUT ASM ' jsr -996(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  165. #macro ScrollRasterBF(rp,dx,dy,xMin,yMin,xMax,yMax) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,rp,dx,dy,xMin,yMin,xMax,yMax) BUT Loads(A6,A1,D0,D1,D2,D3,D4,D5) BUT ASM ' jsr -1002(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  166. #macro FindColor(cm,r,g,b,maxcolor) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,cm,r,g,b,maxcolor) BUT Loads(A6,A3,D1,D2,D3,D4) BUT ASM ' jsr -1008(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  167. #macro AllocSpriteDataA(bm,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,bm,tags) BUT Loads(A6,A2,A1) BUT ASM ' jsr -1020(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  168. #macro ChangeExtSpriteA(vp,oldsprite,newsprite,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,vp,oldsprite,newsprite,tags) BUT Loads(A6,A0,A1,A2,A3) BUT ASM ' jsr -1026(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  169. #macro FreeSpriteData(sp) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(gfxbase,sp) BUT Loads(A6,A2) BUT ASM ' jsr -1032(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
  170. #macro SetRPAttrsA(rp,tags) IS Stores(gfxbase,rp,tags) BUT Loads(A6,A0,A1) BUT ASM ' jsr -1038(a6)'
  171. #macro GetRPAttrsA(rp,tags) IS Stores(gfxbase,rp,tags) BUT Loads(A6,A0,A1) BUT ASM ' jsr -1044(a6)'
  172. #macro BestModeIDA(tags) IS (A0:=tags) BUT (A6:=gfxbase) BUT ASM ' jsr -1050(a6)'
  173. -> --- functions in V40 or higher (Release 3.1) ---
  174. #macro WriteChunkyPixels(rp,xstart,ystart,xstop,ystop,array,bytesperrow) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(gfxbase,rp,xstart,ystart,xstop,ystop,array,bytesperrow) BUT Loads(A6,A0,D0,D1,D2,D3,A2,D4) BUT ASM ' jsr -1056(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
  175.